Ітераційні методи розв’язування систем лінійних алгебраїчних рівнянь

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Інші
Група:
БІ

Частина тексту файла

Міністерство освіти і науки України Національний університет „ Львівська політехніка “ Кафедра БІ ЗВІТ Про виконання лабораторної роботи №3 на тему: “Ітераційні методи розв’язування систем лінійних алгебраїчних рівнянь” Мета роботи – ознайомлення з ітераційними методами розв’язування систем лінійних алгебраїчних рівнянь. До ітераційних методів належать: метод простої ітерації, метод Зейделя, метод верхньої релаксації та інші. Метод простої ітерації. Нехай дано лінійну систему  (1) Розглянемо матриці    Тоді систему (1) можна записати у вигляді матричного рівняння  (2) Будемо вважати, що діагональні коефіцієнти  (і = 1, 2,…, n). Розв’яжемо перше рівняння системи (1) відносно , друге відносно  і т.д. Тоді одержимо еквівалентну систему  (3) де  , при ; , при ; ; ;  Іноді кажуть, що система (3) зведена до нормального вигляду. Введемо матриці ( та (   Систему (3) запишемо у вигляді  (4) Систему (3) будемо розв’язувати методом послідовних наближень. За нульове наближення позначимо, наприклад, стовпчик вільних членів . Далі послідовно будуємо матриці-стовпці:  – перше наближення  – друге наближення і т.д. Будь-яке (k + 1)-е наближення обчислюється за формулою: , (k = 0, 1, 2, …) (5) В розгорнутому вигляді . Якщо послідовність наближень  має границю , (6) то ця границя є розв’язком системи (3). На практиці ітераційний процес припиняють, коли , де ( – гранична абсолютна похибка. Завдання Розв’язати систему лінійних алгебраїчних рівнянь методом Зейделя: 8.3*х1 + (2,62+s)*x2 + 4.1*x3 + 1.9*x4 = -10.55 + b 3.92*х1 + 8.45*x2 + (7.78-s)*x3 + 2.46*x4 = 12.21 3.77*х1 + (7.21+s)*x2 + 8.04*x3 + 2.28*x4 = 15.45 - b 2.21*х1 + (3.65-s)*x2 + 1.69*x3 + 6.99*x4 = -8.35 s=0.2*k, k=3; b = 0.2*p, p=0 Список ідентифікаторів констант, змінних, процедур і функцій, використаних у програмі j,i,k,m – змінні типу int, які використовуються для роботи циклів; n, g – константи, якими вказую розміри масивів; s,s1,f – змінні типу double які ми використовуємо при роботі програми; a,b – змінні, за допомого яких виконуємо операції з масивами; s – результат перевірки програми; printf, scanf функції вводу і виводу; Блок-схема алгоритму програми: Текст програми: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace KMD_3 { class Program { static void Main() { const int n=4; const int g=1; { int j,i,k,m; double s,s1,f; Random r = new Random(); int S = r.Next(0, 5); int q = r.Next(0, 5); double [,] a = new double[n,n]; double [,] p = new double[n,n]; double [] b = new double[n]; double[] x = new double[n]; { a[0, 0] = 3.3; a[0, 1] = 12.62 + 0.2 * S; a[0, 2] = 4.1; a[0, 3] = 1.9; a[1, 0] = 3.92; a[1, 1] = 8.45; a[1, 2] = 1.78 - 0.2 * S; a[1, 3] = 1.4; a[2, 0] = 3.77; a[2, 1] = 1.21 + 0.2 * S; a[2, 2] = 8.04; a[2, 3] = 0.28; a[3, 0] = 2.21; a[3, 1] = 3.65 - 0.2 * S; a[3, 2] = 1.69; a[3, 3] = 9.99; for (i=0;i<n;i++) for (k=0;k<n;k++) p[i,k]=a[i,k]; b[0] = -10.55 + 0.2 * q; b[1] = 12.21; b[2] = 15.45 - 0.2 * q; b[3] = -8.35; for (k = 0; k < n; k++) { for(i=0;i<n;i++) { Console.Write("{0} ", a[k, i]); } Consol...
Антиботан аватар за замовчуванням

22.05.2013 21:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини